iT邦幫忙

2021 iThome 鐵人賽

DAY 30
1
Modern Web

JavaScript 從 50% 開始,打造函式庫不是問題!系列 第 30

JS 30 - 將 JSON 資料應用到統計學!

  • 分享至 

  • xImage
  •  

大家好!

今天我們要實作解析 JSON 資料,並計算資料的變異數。
我們進入今天的主題吧!


公式

  • 母體變異數:\sigma^2=\frac{1}{n}\sum^n_{i=1}(x_i-\mu)^2
  • 樣本變異數:S^2=\frac{1}{n-1}\sum^n_{i=1}(x_i-\bar{x})^2

公式的使用取決於樣本數的範圍,前者採用所有對象,後者只採用部分對象。

舉例
公司發行問卷調查,對象如下:
一、現職的 50 位員工(母體)
二、隨機抽選的 500 位客戶(樣本)

樣本變異數的樣本數要減一,否則會出現低估的結果,因為這樣是用樣本群體來估計母體變異數。

好了,統計學到此結束,接下來才是主題呢!


程式碼

const Stat = {};
Stat.var = function (arr, isSample) {
    if (typeof arr === 'number') return arr;
    const sum = arr.reduce(function (a, v) {
        return a + v;
    }, 0);
    const sig = arr.reduce(function (a, v) {
        return a + (v - sum / arr.length) ** 2;
    }, 0);
    return sig / (arr.length - (isSample? 1 : 0));
};

實測

範例連結製作中。


差不多也到尾聲了。
如果對文章有任何疑問,也歡迎在下方提問和建議!
我是 Felix,我們明天再見!


上一篇
JS 29 - 一個 div 就能完成的發光游泳圈!
下一篇
JS 31 - 一個 div 就能安心輸入的表單檢查提示!
系列文
JavaScript 從 50% 開始,打造函式庫不是問題!46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言